# Конвертиране към AVI

## FlasKMPEG: Output Format Options

В "Output Format Options" се избират видео и аудио компресор/декомпресор. Може да се постави и "воден знак" във филма, т.е. емблема, която винаги се вижда. Това обаче в повечето случаи е дразнещо, затова няма да се занимаваме с него.

Ние се интересуваме от двата бутона "Select Codec". Горният е за видео, а долният - за аудио потока. Да започнем с видеото - натискаме "Select Codec", и в появилия се прозорец избираме "DivX Codec 4.11".

Много е важно да не пропуснем да настроим самия кодек. Това става, като натиснем "Configure", след като изберем необходимия кодек. Натискането на този бутон отваря property page-а на DivX4.

Да разгледаме по-подробно полетата. Най-отпред са т.нар. General Parameters - основни параметри. Те ни позволяват да изберем режим на компресия, съотношение производителност / качество, битрейт, както и максимален интервал на т.нар. keyframes, за които ще обясним малко по-надолу.

Възможните Variable bitrate режими са 1-pass (еднопасов), 1-pass quality-based (еднопасов, базиран на качеството), и 2-pass, first pass, както и 2-pass, second pass (съответно първи и втори пас на двупасов режим).

Еднопасовият режим "минава" само веднъж през филма и не гарантира постигане на зададения битрейт. Еднопасовият "quality based" режим не позволява да се задава битрейт, а работи с "качество на образа". Например, настройката по подразбиране е 85% (виж screenshot-а). Той е удобен, когато възнамеряваме да обработваме така полученото AVI, без да се интересуваме от размера му.

Ние обаче ще се занимаваме с двупасовия метод, тъй като той дава най-добри резултати. При него филмът се обработва на два паса. На първия пас всеки кадър се анализира, като резултатите се съхраняват в специален log файл. На втория пас вече данните наистина се компресират, като данните от първия пас се използват за постигане на по-високо качество и по-оптимално разпределение на битрейта (при по-динамични сцени се отделят повече битове на кадър, а при по-статични - по-малко). Това води до по-качествен образ и се постига среден битрейт, който е много близък до зададения. В това отношение новите версии на DivX4 са по-добри от предните (версия 4.01 беше доста зле - правеше филмите 30% по-малки, отколкото трябва; версия 4.02 беше голямо подобрение в тази насока, а 4.11 е още по-близо до оптималното).

И така, избираме за режим "2-pass, first pass" (т.е. ще правим първи пас през филма). Performance/quality е желателно да е "slowest" - в крайна сметка, времето за направата на файла се отделя веднъж, а с качеството се примиряваме след това цял живот. В полето "Output video bitstream at ... kilobit/second" въвеждаме изчисленият от нас желан битрейт за видео потока. При втория пас бихме могли да използваме и различна стойност, но това само би объркало кодека. Желателно е да се използват едни и същи стойности (тези, пресметнати от битрейт калкулаторите).

Maximum key frame interval указва максималния интервал между т.нар. key frames (ключови кадри). За разлика от обикновените кадри в DivX потока, които носят информация само за промените спрямо предишния кадър, ключовите кадри описват цялата информация за кадъра. Това се прави за по-високо качество, а освен това и за да може филмът да бъде гледан от произволно място (в този случай се преизчисляват промените от най-близкия ключов кадър преди това място, и е хубаво този ключов кадър да е някъде наблизо). DivX4 засича смените на сцени от филма и автоматично слага там ключови кадри, но когато дълго време няма смяна на сцената, все пак е добре да има ключови кадри, за да се избегне загубата на качество в картината. Тук идва на помощ и тази опция. 250 кадъра (т.е. максимум на 10 секунди) е добър избор.

Освен това ни интересува секцията "Two-pass encoding parameters". Там указваме пътя към log файла за първия пас (може да се казва, както си поискате), както и нивото на "Frame dropping" (пропускане на кадри). То указва каква част от кадрите във филма могат да бъдат пропуснати в случай, че носят малко информация, а не достига битрейт за другите кадри. Ако се пропусне малко количество кадри, това не се забелязва, но при повече пропуснати кадри се вижда "насичане" на филма, което е доста неприятно. Това поле спокойно може да бъде оставено на 0%:

Другите секции на прозореца не ни интересуват. "Default postprocessing level" служи за настройка на подразбиращото се ниво на postprocessing, и е хубаво да е най-вляво (т.е. без postprocessing). Потребителят, който гледа филма, така или иначе, може да си го нагласи на каквото пожелае. 1-pass encoding parameters са параметрите на еднопасовия метод, но подразбиращите се стойности обикновено вършат добра работа. Quality-based encoding parameters, както вече споменахме, задава качеството на 1-pass, quality-based режима на работа.

Когато идваме по-късно тук, за да правим настройките на втория пас, трябва единствено да променим режима от "2-pass, first pass" на "2-pass, second pass". Останалите настройки са същите, като при първия пас.

Натискаме "OK" в този прозорец, както и в предния "Choose Video Comrpessor", и минаваме към втория бутон "Select Codec" - ще избираме аудио кодек. Прозорецът, който се появява, е сходен с този за видео кодека. Тук нещата са много по-прости - само трябва да изберем "MPEG Layer-3", и желания режим (в случая - 96 kBit/s, 48000 Hz, Stereo). За по-лесно може да си запишем тези настройки и по-късно да си ги викаме само с едно натискане на бутона на мишката.

Натискаме "OK", и се връщаме в прозореца на "Output Format Options", където вече виждаме избраните кодеци. Още веднъж "ОК" и сме готови за кодиране. Run / Start Conversion, а после остава единствено да изчакаме първия пас да свърши.

Тук е мястото да отбележим - някои версии на DivX кодека имат проблем - когато стигнат до 100% по време на първия пас, просто "седят" така много време (може да е с часове), и изглежда, сякаш не правят нищо. Рано или късно обаче конвертирането ще приключи, така че в този момент не бива да се прекъсва работата. В бъдещите версии това може и да бъде оправено. И още нещо - по време на работа не натискайте Pause, защото FlasKMPEG 0.594 изглежда има проблеми с това. И изобщо - ако искате безпроблемна работа, стойте настрана от всичко, което не е пряко необходимо, за да се извърши конверсията.

След като първия пас свърши, затваряме FlasKMPEG (отново заради бъгове - има навика да гърми, ако се пускат повече от една конверсии на сесия) и го стартираме отново, като пак отваряме същото DVD. FlasK си помни настройките от предния пас, така че не е необходимо да пипаме никъде. Отиваме направо в Output Format Options, където пак избираме видео и аудио кодеци. DivX codec си помни настройките от предния път, необходимо е само да превключим от "2-pass, first pass" на "2-pass, second pass" - ще минаваме на втори пас през филма. Пускаме отново Run / Start Conversion, изчакваме и втория пас да свърши, и готово - филмът е вече готов.

Нека само да дадем още някои финални препоръки. Не е лошо между двата паса да направите копие на работната директория, за да можете после, ако случайно по време на втория пас спре токът, или компютърът увисне, да възстановите директорията такава, каквато е била след първия пас, и да продължите направо с втория. Освен това, по време на първия пас няма смисъл да се кодира звука, защото това така или иначе ще стане по време на втория пас. Така че може спокойно по време на първия пас в Global Project Options да се избере "Don't process audio". Това обаче не спестява кой-знае колко време (на практика нищо), а и после, преди втория пас, ще трябва пак да се ходи в това меню и да се включва отново обработката на звука, което създава възможности за възникване на грешки, така че не е препоръчително.